Σε αντίθεση με την υλοποίηση βίντεο από την πλευρά της εφαρμογής-πελάτη, όπου υποβάλλεται ανεξάρτητα αίτημα για ροή βίντεο και για διαφημίσεις, για την υλοποίηση από την πλευρά του διακομιστή που χρησιμοποιείται για την Εισαγωγή δυναμικής διαφήμισης (DAI) υποβάλλεται αίτημα μόνο για μία ροή, με τις διαφημίσεις να τοποθετούνται δυναμικά στο περιεχόμενο βίντεο. Εάν παρουσιαστεί σφάλμα διακομιστή, η ροή μπορεί να αποκλειστεί. Αυτό όχι μόνο επηρεάζει αρνητικά την εμπειρία χρήστη, αλλά οδηγεί και σε απώλεια εσόδων.
Το Ad Manager DAI σας εμφανίζει τα σφάλματα HTTP κατά τη δημιουργία μιας ροής, καθώς και κατά την εκτέλεση της ροής και σας επιτρέπει να ορίσετε μια εφεδρική ροή σε περίπτωση που δεν λάβετε έγκυρη απόκριση από τον διακομιστή.
Χειρισμός σφαλμάτων HTTP που εντοπίζονται κατά τη δημιουργία μιας ροής
Τύπος σφάλματος | Πρόταση |
---|---|
Σφάλματα 4XX (εξαιρουμένου του 429) |
Όταν βλέπετε σφάλματα HTTP 4XX, δεν θα πρέπει να επιστρέφετε στη χρήση των ανεπεξέργαστων ροών, καθώς η εφαρμογή-πελάτης πιθανότατα να αντιμετώπισε σφάλμα σε αυτές τις περιπτώσεις. Βεβαιωθείτε ότι το αίτημα που αποστέλλετε στον διακομιστή είναι σωστό και ότι περιέχει όλες τις απαιτούμενες παραμέτρους. |
Σφάλματα 429 ή 5XX | Όταν βλέπετε σφάλματα HTTP 429 ή HTTP 5XX, θα πρέπει να επιστρέφετε στη χρήση της ανεπεξέργαστης εφεδρικής ροής, χωρίς δημιουργία εσόδων. Στο Κιτ ανάπτυξης λογισμικού IMA, αυτά τα σφάλματα μπορούν να εντοπιστούν με έναν δείκτη χειρισμού σφαλμάτων και μπορεί να γίνει εναλλαγή της προεπιλεγμένης ροής στην εφεδρική ροή. |
TVOS
static NSString *const kBackupContentPath =
@"http://googleimadev‑vh.akamaihd.net/i/big_buck_bunny/bbb‑,480p,720p,1080p,.mov.csmil/"
@"master.m3u8";
- (void)streamManager:(IMAStreamManager *)streamManager
didReceiveError:(NSError *)error {
NSLog(@"Error: %@", error);
[self playBackupStream];
}
- (void)playBackupStream {
NSURL *contentURL = [NSURL URLWithString:kBackupContentPath];
self.playerViewController.player = [[AVPlayer alloc] initWithURL:contentURL];
[self.playerViewController.player play];
}
Λήψη του URL εφεδρικής ροής για βίντεο κατά απαίτηση (VOD) ή γραμμική ροή
Η εφαρμογή πρέπει να έχει έναν μηχανισμό για τη λήψη του URL εφεδρικής ροής τόσο για βίντεο κατά απαίτηση όσο και για ζωντανές γραμμικές ροές. Στην περίπτωση του βίντεο κατά απαίτηση, η εφεδρική ροή θα πρέπει να είναι το ingestURL που παρέχεται στη ροή MRSS. Για ζωντανές γραμμικές ροές, η εφεδρική ροή θα πρέπει να είναι η ροή περιεχομένου που καθορίζεται στη διεπαφή χρήστη του Ad Manager.
Χειρισμός σφαλμάτων HTTP κατά την εκτέλεση της ροής
Εάν παρουσιαστεί σφάλμα κατά την εκτέλεση της ροής, δεν συνιστάται να επιστρέψετε στη χρήση της ανεπεξέργαστης ροής. Το Ad Manager προσπαθεί να διορθώσει αυτόματα τα περισσότερα σφάλματα που αντιμετωπίζει. Ωστόσο, σε περιπτώσεις όπου ο διακομιστής δεν μπορεί να χειριστεί το σφάλμα, η αναπαραγωγή της ροής διακόπτεται. Αν η ροή διακοπή, η εφαρμογή θα πρέπει να ξεκινήσει μια νέα ροή. Αν το σφάλμα εξακολουθεί να παρουσιάζεται, θα πρέπει να επιστρέψετε στη χρήση της ανεπεξέργαστης ροής.
Επαλήθευση της εναλλακτικής υλοποίησης
Μπορείτε να επικυρώσετε την εναλλακτική υλοποίηση χρησιμοποιώντας τα παρακάτω δείγματα ροών:
Μορφή ροής | Κλειδί στοιχείου |
---|---|
HLS | MSQJlB9VSgqJkGNv1mB0FA |
DASH | TrhaCde0R_uKzG_psucTww |
Αυτές οι ροές προορίζονται για σκοπούς δοκιμής και θα εμφανίζουν πάντα σφάλμα HTTP 429.
Αυτόματη ανακατεύθυνση των γραμμικών ροών DAI
Στη σπάνια περίπτωση απροσδόκητα μεγάλου όγκου στο σύστημά μας, ενδέχεται να επιστρέψουμε σε μια ροή χωρίς διαφημίσεις για ορισμένους χρήστες. Σε αυτήν την περίπτωση, ο θεατής θα βλέπει το υποκείμενο περιεχόμενο.
Σε περίπτωση που δεν είναι δυνατή η προβολή εναλλακτικών ροών (για παράδειγμα, εάν προσδιορίζεται ο Έλεγχος ταυτότητας ή η Προώθηση προέλευσης ή εάν ζητηθεί εξαίρεση παραλλαγής για τη ροή), θα εμφανιστεί ένας κωδικός απόκρισης HTTP 429 και η εφαρμογή θα επανέλθει τοπικά στην ανεπεξέργαστη ροή.